package com.nuance.assignment.fileInfo.server.util;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import org.springframework.stereotype.Component;

import com.nuance.assignment.fileInfo.shared.FileDTO;

/**
 * A transformer class to get DTOs from Files
 * 
 * @author parag
 *
 */
@Component
public class FileTransformer {

	public FileDTO toDTO(File file) {
		return new FileDTO(file.canExecute(), file.canRead(), file.canWrite(),
				file.isFile(), file.isDirectory(), file.isHidden(),
				file.isAbsolute(), file.lastModified(), file.length(),
				file.getAbsolutePath(), file.getName());
	}
	
	public List<FileDTO> toDTO(File[] files){
		List<FileDTO> dtos = new ArrayList<>(files.length);
		for(File file : files){
			if(null != file){
				dtos.add(toDTO(file));
			}
		}
		return dtos;
	}
	
}
